
/**
 * @ProjectName: 
 * @Copyright: 2014 lisheng  All Right Reserved.
 * @address: toughheart@163.com
 * @date: 2016年4月28日 下午10:23:35
 * @Description: 本内容未经本人允许禁止使用、转发.
 */
 
package com.ls.fw.web.file.support.config;

import java.util.Arrays;

import javax.servlet.http.HttpServletRequest;


/**
 * 
 * @author lisheng
 * @date 2016年4月28日 下午10:23:35
 * @version V1.0 
 */
public interface IFileConfiguration {
	String DEFAULT_CONFIG_PATH = "/META-INF/fw/file/config/file-default.properties";
	String DEFAULT_BASE_URL = "";
	String DEFAULT_DOWNLOAD_BASE_URL = "/download";
	//服务的相对目录
	String DEFAULT_BASE_DIR = "../../../temp";
	public static final long BASE_SIZE = 1024;
// 1GB
	public static final long MAX_SIZE = BASE_SIZE * BASE_SIZE * BASE_SIZE * 1;

	public void init() throws Exception;
	public long getMaxFileSize() ;
	public int getMaxMemSize() ;
	public String[] getAllowType() ;
	public String[] getDenyType();
	public boolean isAbsoluteDir();
	public String getTempdir();
	public String getBaseDir() ;
	public String getRelativeDir();
	public long getMaxSize();
	public String getRootDir();
	public String getBaseUrl();
	
	public String setBaseDir(String baseDir);
	public String setAppendBaseDir(String baseDir);
	
	
	/**
	 * 
	 * @author lisheng
	 * @date 2016年4月28日 下午11:00:52
	 * @version V1.0
	 * @param request
	 * @param downFunPath
	 * @return
	 */
	String getBaseUrl(HttpServletRequest request);

	String setDownloadFunPath(String downFunPath);
	
	/**
	 * 
	 * @author lisheng
	 * 2016年9月5日 下午9:20:41
	 * @version V1.0
	 * @param request
	 * @return
	 */
	String getDownloadBaseUrl(HttpServletRequest request);
}
